package com.hnhegui.backend.platform.convert.payment;

import com.hnhegui.backend.order.dto.request.PaymentOrderCallbackRequestDTO;
import com.hnhegui.backend.order.dto.response.PaymentOrderCallbackResponseDTO;
import com.hnhegui.backend.payment.dto.request.PaymentRequestDTO;
import com.hnhegui.backend.payment.dto.response.PaymentResponseDTO;
import com.hnhegui.backend.platform.vo.payment.request.PaymentCallbackRequestVO;
import com.hnhegui.backend.platform.vo.payment.request.PaymentRequestVO;
import com.hnhegui.backend.platform.vo.payment.response.PaymentCallbackResponseVO;
import com.hnhegui.backend.platform.vo.payment.response.PaymentResponseVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author 刘大海
 * @since 2025/10/27 11:32
 */
@Mapper
public interface PaymentConvert {
    PaymentConvert INSTANCE = Mappers.getMapper(PaymentConvert.class);

    PaymentRequestDTO convertRequest(PaymentRequestVO request);

    PaymentResponseVO convertResponse(PaymentResponseDTO data);

    PaymentOrderCallbackRequestDTO convertCallBackRequest(PaymentCallbackRequestVO request);

    PaymentCallbackResponseVO convertCallBackResponse(PaymentOrderCallbackResponseDTO data);
}
